package com.domus.dreamMenu.servidor.negocios;

import java.rmi.RemoteException;
import java.util.ArrayList;

import com.domus.dreamMenu.comunicacao.ChamadaDeMetodosRemotosDaCozinha;
import com.domus.dreamMenu.servidor.repositorios.RepositorioPedidos;
import com.domus.dreamMenu.servidor.util.RepositorioObserver;
import com.domus.dreamMenu.tipos.EntradaConta;
import com.domus.dreamMenu.tipos.EntradaPedido;
import com.domus.dreamMenu.tipos.Pedido;
import com.domus.dreamMenu.tipos.PedidoCozinha;
import com.domus.dreamMenu.tipos.RelacaoConta;

public class NegocioPedido extends NegociosAbstrato<RepositorioPedidos, Pedido, Integer> {
	
	private static NegocioPedido singleton;
	//private final Controlador controlador;

	private NegocioPedido() {
		this.observers = new RepositorioObserver();
		this.repositorio = new RepositorioPedidos();
		//this.controlador = new Controlador();
	}
	
	public static NegociosAbstrato getInstancia(){
		if(NegocioPedido.singleton == null)
			NegocioPedido.singleton = new NegocioPedido();
		return NegocioPedido.singleton;		
	}
	
	public void adicionarEntrada(Pedido novo) {
		super.adicionarEntrada(novo);
		
		ChamadaDeMetodosRemotosDaCozinha.adicionarPedido(repositorio.getPedidoCozinha());
	}

	public void criarConta(int mesa){
	    
	}
	
	public int getNumeroConta(int mesa) {
		return this.repositorio.getNumeroConta(mesa);
	}

	public RelacaoConta fecharConta(int mesa){
		System.out.println("mesa: "+mesa);
		return this.repositorio.fecharConta(mesa);
	}
}
